Information processing apparatus, information processing method, and non-transitory computer-readable storage medium

ABSTRACT

Before one of a first user and a second user has been authenticated, an information processing apparatus acquires first setting information corresponding to the first user and first setting information corresponding to the second user from a first storage unit and store the first setting information corresponding to the first user and the first setting information corresponding to the second user in a second storage unit. Then, after one of the first user and the second user has been authenticated, the information processing apparatus acquires the first setting information corresponding to the authenticated user from the second storage unit and furthermore acquires the second setting information corresponding to the authenticated user from the first storage unit.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to an information processing apparatusconfigured to operate in accordance with setting information and aninformation processing method for acquiring setting information from astorage device, the setting information having been set for theinformation processing apparatus.

2. Description of the Related Art

Only an authenticated user may use an information processing apparatusin which an authentication mechanism is built in. Furthermore, there isan information processing apparatus that predicts a time frame in whicheach user is expected to log in and moves user information such as ID, apassword, gender, age, birthplace, and the like from a working memory toa cache memory when the current time reaches the time frame (JapanesePatent Laid-Open No. 2009-93512).

In a method in which a time frame in which a user is expected to log inis predicted and user information of the user is moved to a high-speedmemory, it is necessary to predict a time frame and an additional systemis necessary for predicting a time frame.

Since, of course, a time frame may be predicted wrong, when a user Atries to log in, there may possibly be a case where user information ofa user B has been moved to a high-speed memory but user information ofthe user A has not been moved to the high-speed memory.

Furthermore, in Japanese Patent Laid-Open No. 2009-93512, for users forwhom it is unknown whether or not a login is to be performed, the userinformation of all the users has been moved to a high-speed memory. Ifit is predicted that a plurality of users are expected to log in in thesame time frame, all the user information corresponding to the pluralityof users needs to be moved to a high-speed memory and the capacity ofthe high-speed memory may not be sufficient.

SUMMARY OF THE INVENTION

An information processing apparatus according to the present inventionis an information processing apparatus configured to operate inaccordance with setting information. The information processingapparatus includes a first storage unit, a second storage unit, anauthentication unit, and a storage control unit. The first storage unitis configured to store first and second setting informationcorresponding to a first user and first and second setting informationcorresponding to a second user. The second storage unit is differentfrom the first storage unit. The authentication unit is configured toauthenticate one of the first user and the second user. The storagecontrol unit is configured to acquire the first setting informationcorresponding to the first user and the first setting informationcorresponding to the second user from the first storage unit and storethe first setting information corresponding to the first user and thefirst setting information corresponding to the second user in the secondstorage unit before one of the first user and the second user has beenauthenticated by the authenticated unit; acquire, after one of the firstuser and the second user has been authenticated by the authenticationunit, the first setting information corresponding to the authenticateduser from the second storage unit; and acquire, after one of the firstuser and the second user has been authenticated by the authenticationunit, the second setting information corresponding to the authenticateduser from the first storage unit.

In addition, an information processing method according to the presentinvention is an information processing method for acquiring first andsecond setting information from a first storage device, in which thefirst and second setting information being stored, the first and secondsetting information being set for an information processing apparatus.The information processing method includes authenticating one of a firstuser and a second user; acquiring first setting informationcorresponding to the first user and first setting informationcorresponding to the second user from the first storage unit before oneof the first user and the second user has been authenticated, storing,in the second storage device, the first setting information acquired inthe acquiring of first setting information of the first and second usersbefore one of the first user and the second user has been authenticated,the second storage device being different from the first storage device;after one of the first user and the second user has been authenticated,acquiring the first setting information corresponding to theauthenticated user from the second storage device; and after one of thefirst user and the second user has been authenticated, acquiring thesecond setting information corresponding to the authenticated user fromthe first storage device.

In addition, a non-transitory computer-readable storage medium accordingto the present invention is a non-transitory computer-readable storagemedium storing a program for acquiring first and second settinginformation from a first storage device, in which the first and secondsetting information being stored, the first and second settinginformation being set for an information processing apparatus. Theprogram causes a computer to execute: authenticating one of a first userand a second user; acquiring first setting information corresponding tothe first user and first setting information corresponding to the seconduser from the first storage unit before one of the first user and thesecond user has been authenticated; storing, in the second storagedevice, the first setting information acquired in the acquiring of firstsetting information of the first and second users before one of thefirst user and the second user has been authenticated, the secondstorage device being different from the first storage device; after oneof the first user and the second user has been authenticated, acquiringthe first setting information corresponding to the authenticated userfrom the second storage device; and after one of the first user and thesecond user has been authenticated, acquiring the second settinginformation corresponding to the authenticated user from the firststorage device.

Further features of the present invention will become apparent from thefollowing description of exemplary embodiments with reference to theattached drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram illustrating a hardware configuration of aninformation processing apparatus.

FIG. 2 is a diagram illustrating types of setting values stored in aHDD.

FIGS. 3A and 3B are diagrams illustrating examples of setting valuesnecessary for login.

FIG. 4 is a diagram illustrating an example of setting values necessaryafter login.

FIG. 5 is a diagram illustrating a setting screen through which settingvalues necessary for login are set.

FIG. 6 is a flowchart illustrating a start-up process to be performed inthe information processing apparatus.

FIGS. 7A to 7C are diagrams illustrating an example of a screen to bedisplayed after login.

FIG. 8 is a flowchart illustrating a login process to be performed inthe information processing apparatus.

FIG. 9 is a flowchart illustrating an acquisition process to beperformed in the information processing apparatus.

FIG. 10 is a diagram illustrating an example of a list of setting valuesnecessary for login.

FIG. 11 is a flowchart illustrating a setting process to be performed inthe information processing apparatus.

FIG. 12 is a diagram illustrating priority information stored in theHDD.

FIGS. 13A and 13B are a flowchart illustrating a login process to beperformed in the information processing apparatus.

FIG. 14 is a diagram illustrating an example of a message.

FIG. 15 is a diagram illustrating an example of priority information andlimitation information.

FIG. 16 is a flowchart illustrating a login process to be performed inthe information processing apparatus.

FIG. 17 is a block diagram representing roles played by a CPU in firstto third embodiments.

DESCRIPTION OF THE EMBODIMENTS First Embodiment

Embodiments will be described with reference to drawings.

FIG. 1 is a diagram illustrating a hardware configuration of aninformation processing apparatus. In the present embodiment, amulti-function device will be described as an example of an informationprocessing apparatus. FIG. 1 is an exemplary diagram for describing thepresent embodiment and other configuration requirements may be includedin the information processing apparatus.

The information processing apparatus includes a controller unit 100, anoperation unit 106, a scanner 108, and a printer 109. In addition, thecontroller unit 100 includes a central processing unit (CPU) 101, arandom-access memory (RAM) 102, a read-only memory (ROM) 103, a harddisk drive (HDD) 104, an operation unit I/F 105, a device I/F 107, anetwork I/F 110, and a bus 111.

The CPU 101 executes various information processes in accordance with acontrol program, and controls the operation unit 106, the scanner 108,and the printer 109. In addition, the CPU 101 may communicate with anexternal device via the network I/F 110.

The RAM 102 is a volatile storage device, and functions as a workingmemory that the CPU 101 uses to execute various information processes. Anonvolatile storage device that may be accessed at a high speed may alsobe used as a substitute for the RAM 102. The ROM 103 is a nonvolatilestorage device and stores various control programs and setting values.The HDD 104 is also a nonvolatile storage device and stores controlprograms and setting values. Programs stored in the ROM 103 or the HDD104 are transferred to the RAM 102 and executed by the CPU 101. Inaddition, the information processing apparatus operates in accordancewith setting values transferred from the ROM 103 or the HDD 104 to theRAM 102.

The operation unit I/F 105 monitors an input from the operation unit 106and sends input information to the CPU 101. In addition, the operationunit I/F 105 controls the operation unit 106 in accordance withinstructions from the CPU 101 such that information is displayed. Theoperation unit 106 is an input device such as a touch panel and abutton, and also is a display device such as a light-emitting diode(LED) display and a liquid crystal display (LCD). The operation unit 106may also be a touch panel display that functions as both an input deviceand a display device.

The device I/F 107 sends a command received from the CPU 101 to thescanner 108 or the printer 109. In addition, the device I/F 107 receivesimage data from the scanner 108 and sends the image data to the printer109. The scanner 108 reads an image on a sheet and generates image data.The printer 109 prints an image based on the image data, on a sheet.

The information processing apparatus provides a copy function using thescanner 108 and the printer 109. The CPU 101 causes the scanner 108 toread an image, executes image processing on image data generated by thescanner 108, and causes the printer 109 to print an image based on theimage data on which image processing has been executed. Note that, imageprocessing may also be executed by an image processing hardware deviceother than the CPU 101. In image processing, image data may be processedsuch that images read individually from two documents are printed on asingle sheet (2 in 1). In addition, the information processing apparatusprovides a send function through which image data generated by thescanner 108 is sent via the network I/F 110 and a FAX function throughwhich image data generated by the scanner 108 is sent via a telephoneline, which is not illustrated. In the case where the informationprocessing apparatus does not provide the copy function, the sendfunction, and the FAX function, the information processing apparatusdoes not have to include the scanner 108.

The network I/F 110 controls network communication performed via alocal-area network (LAN) in accordance with instructions from the CPU101. The LAN may be wireless or wired or may use public telephone lines.In addition, the information processing apparatus may have a USB I/Fthrough which communication is performed with an external device via aUSB cable.

The CPU 101, the RAM 102, the ROM 103, the HDD 104, the operation unitI/F 105, the device I/F 107, and the network I/F 110 are connected tothe bus 111.

A program to be executed by the CPU 101 is stored in the ROM 103 or theHDD 104 and is loaded in the RAM 102 when the information processingapparatus is started up or when a certain function is provided. The CPU101 executes a program loaded in the RAM 102.

The CPU 101 causes the operation unit 106 to display information andacquires information input by a user using the operation unit 106 viathe operation unit I/F 105.

The CPU 101 performs authentication processing for login. Inauthentication processing, it is determined whether or not a user isallowed to use the information processing apparatus, and start of auser's login, completion of the user's login, and the user's logout aremanaged. More specifically, the CPU 101 commands the operation unit 106to display an authentication screen, acquires authentication informationinput by a user using the operation unit 106, and performsauthentication on the basis of the authentication information. In thecase where authentication has been successful, the CPU 101 acquires asetting value associated with the user, and controls a screen to bedisplayed after login on the basis of the setting value.

The CPU 101 writes a setting value into the RAM 102 or the HDD 104, orreads a setting value from the RAM 102 or the HDD 104. When theinformation processing apparatus is started up, for all users, the CPU101 reads setting values associated with individual users and necessaryfor login, and writes the setting values into the RAM 102. In the casewhere a user's login is started, the CPU 101 acquires a setting valueassociated with the user from the RAM 102, and controls a screen to bedisplayed after login on the basis of the acquired setting value. In thepresent embodiment, suppose that an access speed of the RAM 102 isfaster than an access speed of the HDD 104. Then, the screen to bedisplayed after login is displayed sooner in the case where a settingvalue is acquired from the RAM 102 than in the case where a settingvalue is acquired from the HDD 104. When the user's login is completed,the CPU 101 reads a setting value associated with the user and necessaryafter login from the HDD 104, and writes the setting value into the RAM102. As a result, when a setting value is necessary after login, thesetting value may be accessed at a higher speed.

FIG. 2 is a diagram illustrating types of setting values stored in theHDD 104. In the HDD 104, a setting value group 201 necessary for loginand a setting value group 211 necessary after login are separatelystored. Setting values necessary for login are setting informationnecessary from start of the login to completion of the login. Settingvalues necessary after login are setting information necessary forfunctions to be executed after login.

The setting value group 201 necessary for login is further classifiedinto personal-use setting values necessary for login and device-usesetting values. The personal-use setting values necessary for login arestored in a storage area 202, and the device-use setting valuesnecessary for login are stored in a storage area 203.

The setting value group 211 necessary after login is further classifiedinto personal-use setting values necessary after login and device-usesetting values. Personal-use setting values necessary after login arestored in a storage area 212, and device-use setting values necessaryafter login are stored in a storage area 213.

In the case where many users use the information processing apparatusand the number of setting values necessary for all the functionsprovided by the information processing apparatus is significantly large,it is difficult to store all the setting values in a storage device thatenables high-speed access but has a relatively small storage capacity(for example, the RAM 102). In addition, setting values may be updatedand it is necessary to store updated setting values for a certain periodof time, for example, even after the information processing apparatus isswitched off. Thus, it is not preferable that all the setting values bestored only in a volatile storage device (for example, the RAM 102).Consequently, in the present embodiment, all the setting values arestored in the HDD 104 and transferred from the HDD 104 to the RAM 102 asneeded.

Personal-use setting values stored in the storage areas 202 and 212 areindividually associated with a plurality of users. Device-use settingvalues are default setting values prepared for a user with whom nopersonal-use setting values are associated. For example, in the casewhere a guest user uses the information processing apparatus withoutbeing authenticated, device-use setting values are used.

As illustrated in FIG. 2, the number of setting values to be loaded inthe RAM 102 before performing a login may be reduced by performingclassification into the setting values necessary for login and thesetting values necessary after login. As a result, setting valuesnecessary for login and for all the users may be loaded in the RAM 102.Since setting values necessary for login and for a plurality of usershave been loaded in the RAM 102, when any of the plurality of the usersperforms a login, a login process is performed at a high speed.

FIG. 3A is a diagram illustrating an example of the setting value group201 necessary for login. In the storage area 202, setting values for auser A and setting values for a user B are stored. In the storage area203, device-use setting values are stored. In FIGS. 3A and 3B, usernames such as “user A” and “user B” are described as identificationinformation for identifying a user to facilitate understanding. However,a user identifier that uniquely identifies a user such as a UUID mayalso be stored as identification information in the storage area 202. Inthe following embodiments, suppose that a user identifier is associatedwith a setting value and stored in the RAM 102 or the HDD 104.

A display language is a language used on a screen displayed on theoperation unit 106. If a setting value for the display language is“English”, an English screen is displayed on the operation unit 106. Ifa setting value for the display language is “Japanese”, a Japanesescreen is displayed on the operation unit 106.

An initial screen is a screen to be first displayed on the operationunit 106 after a user's login. If a setting value for the initial screenis “send”, a screen for the send function is displayed on the operationunit 106. If a setting value for the initial screen is “FAX”, a screenfor the FAX function is displayed on the operation unit 106. If asetting value for the initial screen is “copy”, a screen for the copyfunction is displayed on the operation unit 106.

In FIG. 3A, personal-use setting values are stored in a storage area anddevice-use setting values are stored in another storage area. However,as in FIG. 3B, personal-use setting values and device-use setting valuesmay also be stored in the same storage area. In the case as in FIG. 3B,a special user identifier is allocated to the device and the specialuser identifier (identification information for identifying the device)is associated with the device-use setting values.

In FIGS. 3A and 3B, as an example of setting values, a setting value forthe display language and a setting value for the initial screen areillustrated; however, there may be setting values other than thesesetting values.

FIG. 4 is a diagram illustrating an example of the setting value group211 necessary after login. In the storage area 212, setting values forthe user A and setting values for the user B are stored. In the storagearea 213, device-use setting values are stored.

In the storage area 212, setting values necessary after login are storedon a user by user basis and on a function by function basis. Inaddition, in the storage area 213, setting values necessary after loginare stored on a function by function basis. For example, setting valuesfor the user A necessary after login are classified into setting values401 necessary for the copy function and a setting value 402 necessaryfor the send function. Setting values for the copy function include asetting value for log information and a setting value for a layout. Asetting value for the send function is a setting value for a receivingaddress. Log information is a file path for storing setting log forcopying. A layout indicates the number of pages to be printed on asingle sheet. A receiving address is an e-mail address of a destinationto which image data is to be sent through the send function.

Depending on a user, there may be a function for which no setting valuesare set. For functions that a user does not use, setting values do nothave to be stored.

In the case where the user A uses the copy function, the CPU 101acquires the setting values 401 associated with the user A for the copyfunction and controls the copy function on the basis of the acquiredsetting values. For example, the CPU 101 acquires a setting value forlog information, reads settings for copying performed in the past from afile indicated by the acquired setting value, and causes the operationunit 106 to display the settings for copying performed in the past. As aresult, the user A may reuse the settings for copying used in the past.In addition, the CPU 101 acquires a setting value for a layout,generates image data that needs to be printed in accordance with thesetting value, and prints the generated image data on a sheet.

This similarly applies to the other functions. In the case where a useruses a certain function among the functions, the CPU 101 acquires asetting value for the function, causes a screen to be displayed on thebasis of the acquired setting value, and executes the function on thebasis of the acquired setting value.

Setting values necessary for login and setting values necessary afterlogin are set using the operation unit 106 and stored in the HDD 104.FIG. 5 is a diagram illustrating a setting screen through which settingvalues necessary for login are set, the setting screen being a screen tobe displayed on the operation unit 106. When a user presses a pull-downbutton 501, the CPU 101 causes the operation unit 106 to display a listof languages that may be selected as a display language. The userselects one language from the list. When the user presses a pull-downbutton 502, the CPU 101 causes the operation unit 106 to display a listof functions individually associated with screens that may be selectedas an initial screen. The user selects one function from the list. Inthe case where each user sets setting values necessary for login on thesetting screen illustrated in FIG. 5, the setting values are associatedwith the user and stored in the HDD 104. In the case where anadministrator of the information processing apparatus sets settingvalues necessary for login through the setting screen illustrated inFIG. 5, the setting values are stored, in the HDD 104, as device-usesetting values. In the case where the user or the administrator changes,on the setting screen as illustrated in FIG. 5, setting values that havealready been set, the changed setting values are stored in the RAM 102.That is, the setting values stored in the RAM 102 are updated to thechanged setting values. Then, the changed setting values stored in theRAM 102 are stored in the HDD 104.

A start-up process to be performed in the information processingapparatus will be described using a flowchart of FIG. 6. FIG. 6 is aflowchart illustrating a start-up process to be performed in theinformation processing apparatus. The CPU 101 executes a program basedon the flowchart as illustrated in FIG. 6 and executes the start-upprocess.

The CPU 101 reads, from the HDD 104, device-use setting values necessaryfor login (S601) and writes the read device-use setting values into theRAM 102 (S602).

The CPU 101 acquires, from the HDD 104, a list of a user or users forwhom setting values necessary for login have been set (S603). The CPU101 determines whether or not there is a user who has not yet beenselected from the list of a user or users, in accordance with the listof a user or users (S604). If there are no users who have not yet beenselected from the list of a user or users, the CPU 101 ends the start-upprocess. Also in the case where there are no users for whom settingvalues necessary for login have been set, the CPU 101 ends the start-upprocess.

In the case where there is a user who has not yet been selected from thelist of a user or users, the CPU 101 selects the user from the list of auser or users and reads setting values associated with the user andnecessary for login from the HDD 104 (S605). Furthermore, the CPU 101writes the read setting values into the RAM 102 (S606).

In this manner, the device-use setting values necessary for login andthe setting values necessary for login for all the users are loaded inthe RAM 102, and then these setting values may be accessed at a highspeed.

A login process for users will be described. In order to log in to theinformation processing apparatus, each user inputs authenticationinformation such as a user name and a password on an authenticationscreen displayed on the operation unit 106. The CPU 101 acquires theauthentication information input using the operation unit 106 via theoperation unit I/F 105, verifies the authentication information, anddetermines whether or not the user is allowed to log in to theinformation processing apparatus. An authentication method may also be amethod in which authentication information input using the operationunit 106 is compared with authentication information stored uniquely inthe information processing apparatus. In addition, the authenticationmethod may also be a method in which authentication information inputusing the operation unit 106 is sent to an authentication server such asa directory server and an authentication result is received from theauthentication server.

A method for acquiring authentication information may be a method inwhich authentication information input using the operation unit 106 isacquired or may also be a method in which authentication information isacquired from a card owned by a user via a card reader (not illustratedin FIG. 1).

Upon determining that the user is allowed to log in to the informationprocessing apparatus, the CPU 101 acquires user information of the userfrom the HDD 104. User information is information associated with auser, and includes a user name, the full name of the user, a useridentifier (for example, a UUID, which uniquely identifies a user) andthe like.

The CPU 101 determines whether or not setting values associated with theuser identifier and necessary for login are stored in the RAM 102. Ifthe setting values are stored, the CPU 101 acquires the setting valuesfrom the RAM 102. If the setting values associated with the useridentifier and necessary for login are not stored in the RAM 102, theCPU 101 acquires device-use setting values necessary for login from theRAM 102.

The CPU 101 executes necessary processing for each of the setting valuesacquired from the RAM 102. For example, in the case where a settingvalue for the display language and a setting value for the initialscreen have been acquired, the CPU 101 changes the display language andcontrols the operation unit 106 such that a specified initial screen isdisplayed in a specified display language.

As an example of a setting value other than the setting valuesillustrated in FIGS. 3A and 3B, there is a setting value foraccessibility. When a setting value indicating that screen colorinversion is necessary is stored in the RAM 102, the CPU 101 controlsthe operation unit 106 such that a screen is displayed in which screencolors are inverted. In addition, in the case where a setting valueindicating that voice recognition is necessary is stored in the RAM 102,the CPU 101 executes processing necessary for voice recognition.

The login process is performed at a high speed by acquiring settingvalues necessary for login from the RAM 102. For example, a screen to bedisplayed after login may be displayed at a high speed and the screen,which is displayed, differs from user to user.

For example, the case will be described where the user A and the user Bindividually log in to the information processing apparatus. FIG. 7 is adiagram illustrating an example of a screen to be displayed after login.

Since there used to be only device-use setting values, either when theuser A logs in or when the user B logs in, a screen as illustrated inFIG. 7A is displayed. The screen of FIG. 7A is a menu screen forselecting functions provided by an image processing apparatus, and thedisplay language of the screen is Japanese. In the case where the user Awants an English screen, after the screen of FIG. 7A has been displayed,the user needs to perform an operation in which the display language ischanged from Japanese to English. In addition, in the case where afunction frequently used by the user A is a send function, after thescreen of FIG. 7A is displayed, the user A needs to select an icon 701corresponding to the send function. In either case, such an operation istroublesome.

In the present embodiment, setting values necessary for login may beprovided on a user by user basis. For example, suppose that the user Aand the user B have set setting values as illustrated in FIGS. 3A and3B. Then, in the case where the user A has logged in to the informationprocessing apparatus, a screen of FIG. 7B is displayed. The screen ofFIG. 7B is a screen for the send function, and the display language ofthe screen is English. The user A may use the send function soon, whichthe user A normally frequently uses. In the case where the user B haslogged in to the information processing apparatus, a screen of FIG. 7Cis displayed. The screen of FIG. 7C is a screen for the copy function,and the display language of the screen is Japanese.

When a user's login is completed, the CPU 101 reads setting valuesassociated with the user, who has logged in, and necessary after loginfrom the HDD 104, and writes the setting values into the RAM 102.User-identification information used here is also a user name or a useridentifier. Since setting values necessary after login have been storedin the RAM 102, when the CPU 101 executes a function specified by auser, the CPU 101 may access setting values necessary for the specifiedfunction at a high speed.

Since the RAM 102 has a capacity, the number of setting values that maybe stored is limited. In the present embodiment, setting values for oneuser necessary after login are stored in the RAM 102. Thus, when anotheruser logs in, the CPU 101 clears, from the RAM 102, setting valuesassociated with the last user who logged in and necessary after login.

A login process to be performed in the information processing apparatuswill be described using a flowchart of FIG. 8. FIG. 8 is a flowchartillustrating a login process to be performed in the informationprocessing apparatus. The CPU 101 executes a program based on theflowchart as illustrated in FIG. 8 and executes the login process.

The CPU 101 acquires authentication information input using theoperation unit 106 or the like and executes authentication processing inwhich the input authentication information is compared withpreregistered authentication information (S801). The CPU 101 determineswhether or not a user is allowed to log in to the information processingapparatus on the basis of an authentication result (S802). That is, inthe case where authentication is successful, it is determined that theuser is allowed to log in to the information processing apparatus.

In the case where the user is not allowed to log in to the informationprocessing apparatus, the CPU 101 executes error handling such asdisplay of an error screen (S816).

In the case where the user is allowed to log in to the informationprocessing apparatus, the CPU 101 acquires user informationcorresponding to the user from the HDD 104 (S803). Next, the CPU 101determines whether or not a setting value associated with a useridentifier included in the user information acquired in S803 andnecessary for login is present in the RAM 102 (S804). In the case whereit is determined that such a setting value is present, the CPU 101acquires setting values associated with the user identifier andnecessary for login from the RAM 102 (S805). In the case where it isdetermined that such a setting value is not present, the CPU 101acquires device-use setting values necessary for login from the RAM 102(S806).

The CPU 101 executes processing based on the setting values acquired inS805 or S806 (S807). Specifically, the CPU 101 causes the operation unit106 to display a screen that is to be displayed after login, on thebasis of a setting value for the display language and a setting for theinitial screen.

The CPU 101 determines whether or not processing based on the settingvalues has been completed and a login has been completed (S808). In thecase where the login has not been completed, the CPU 101 continues toexecute processing based on the setting values. In the case where thelogin has been completed, the CPU 101 determines whether or not the useridentifier acquired in S803 is the same as the user identifier of thelast user who logged in (S809). The user identifier of the last user whologged in is stored in the RAM 102.

When the two user identifiers are the same, setting values associatedwith the user and necessary after login have already been stored in theRAM 102. Thus, the CPU 101 executes various functions using the settingvalues. In this case, processing for reading setting values from the HDD104 and writing the setting values into the RAM 102 is omitted. In thecase where the same user logs in successively, unnecessary processingmay be reduced by not reading the same setting values two times from alow-speed storage device such as the HDD 104.

In the case where the two user identifiers are not the same, the CPU 101stores, in the RAM 102, the user identifier acquired in S803 as the useridentifier of the last user who logged in (S810). As a result, the useridentifier stored in the RAM 102 in S810 is to be used when S809 isexecuted next time.

The CPU 101 clears a storage area for storing setting values necessaryafter login on the RAM 102 (S811).

The CPU 101 determines whether or not a setting value associated withthe user identifier acquired in S803 and necessary after login ispresent in the HDD 104 (S812). In the case where it is determined thatsuch a setting value is present, the CPU 101 acquires setting valuesassociated with the user identifier and necessary after login from theHDD 104 (S813). In the case where it is determined that such a settingvalue is not present, the CPU 101 acquires device-use setting valuesnecessary after login from the HDD 104 (S814). The CPU 101 writes theread setting values acquired in S813 or S814 into the RAM 102 (S815).Thereafter, the CPU 101 executes various functions using setting valuesstored in the RAM 102 and necessary after login.

An acquisition process will be described in which setting values areacquired for executing functions. Personal-use setting values includesetting values necessary for login and setting values necessary afterlogin. Examples of setting values necessary after login are settingvalues to be used for functions. The CPU 101 acquires setting values tobe used for functions in order to execute the functions. For example, inthe case where a user uses a copy function, the CPU 101 acquires asetting value associated with the user identifier of the user and usedfor the copy function.

FIG. 9 is a flowchart illustrating an acquisition process to beperformed in the information processing apparatus. The CPU 101 executesa program based on the flowchart as illustrated in FIG. 9 and executesthe acquisition process.

The CPU 101 executes the program based on the flowchart illustrated inFIG. 9 and a program that controls a certain function in parallel. Inaddition, the information processing apparatus may include a controlcircuit that controls a certain function other than the CPU 101. In thefollowing, a program that controls functions and a controller thatcontrols functions are collectively called a “function controller”.

The CPU 101 receives, from a function controller, a function name thatspecifies a function, a user identifier of a user who uses the function,a setting value name of a setting value that is necessary for thefunction, and an acquisition request for the setting value (S901). Thefunction name is, for example, a “copy function”.

The CPU 101 determines whether or not a setting value associated withthe user identifier and corresponding to the function name is present inthe RAM 102 (S902). In the case where such a setting value is present,the CPU 101 acquires, from the RAM 102, a setting value associated withthe function name from among setting values associated with the useridentifier and necessary after login (S903).

In the case where it is determined that such a setting value is notpresent, the CPU 101 determines whether or not a setting value that is adevice-use setting value and corresponds to the function name is presentin the RAM 102 (S904). In the case where such a setting value ispresent, the CPU 101 acquires, from the RAM 102, a setting valueassociated with the function name from among device-use setting valuesnecessary after login (S905).

The CPU 101 sends the setting value acquired in S903 or S905 to thefunction controller that has issued the acquisition request for thesetting value (S906). The function controller executes the function onthe basis of the setting value.

In the case where a setting value associated with the function name isnot present not only in the setting values associated with the user butalso in the device-use setting values, the CPU 101 returns an error tothe function controller (S907).

A setting process for setting values will be described.

FIG. 10 is a diagram illustrating an example of a list of setting valuesnecessary for login. In the example of FIG. 10, a setting value for thedisplay language and a setting value for the initial screen are settingvalues necessary for login. Other setting values may also be included inthe list. The list has been stored in the HDD 104 or the ROM 103 inadvance. When the information processing apparatus is started up, theCPU 101 reads the list from the HDD 104 or the ROM 103 and writes thelist into the RAM 102. The CPU 101 determines whether each setting valueis necessary for login or after login in accordance with the list.

FIG. 11 is a flowchart illustrating a setting process to be performed inthe information processing apparatus. The CPU 101 executes a programbased on the flowchart as illustrated in FIG. 11 and executes thesetting process.

The CPU 101 controls the operation unit I/F 105 or the network I/F 110such that a setting value is to be received (S1101). For example, theoperation unit I/F 105 controls the operation unit 106 such that ascreen for receiving a setting value is displayed, and a user inputs asetting value through the screen. There are mainly two types of screenfor receiving a setting value. One of the types is an initial settingscreen for performing initial setting of setting values. The other oneis an operation screen for each function. Also in the case where a userinputs a setting value through an operation screen for each function andrequests saving of the setting value, the setting value is input to theoperation unit I/F 105 via the operation unit 106. In the case where anexternal server manages setting values in a collective manner, thenetwork I/F 110 sends the acquisition request for a setting value to theexternal server. The setting value sent by the external server inresponse to the acquisition request is input to the network I/F 110 viaa network.

The CPU 101 acquires the setting value input to the operation unit I/F105 or the network I/F 110 (S1102). The CPU 101 acquires, in addition tothe setting value, the name of the setting value, information used toidentify whether the setting value is a device-use setting value or apersonal-use setting value, the user identifier of the user who hasinput the setting value, the function name of a function correspondingto the setting value, and the like. A setting value input through ascreen available only to an administrator or a screen displayed whilethe administrator is logging in is a device-use setting value. Incontrast, a setting value input by a certain user through a screendisplayed while the user is logging in is a personal-use setting value.In the case where a setting value is input from an external server,information indicating whether the setting value is a personal-usersetting value or a device-use setting value is also received. In thecase where such information is not present, an empty value (for example,“0” or “NULL”) is acquired. For example, in the case where a device-usesetting value is input, a user identifier is not present. In the casewhere a setting value for a system setting is input, a function name isnot present.

The CPU 101 determines whether or not the name of the setting valueacquired in S1102 is included in the list of setting values necessaryfor login (S1103).

In the case where the name of the setting value is included in the list,the CPU 101 determines whether or not the setting value acquired inS1102 is a personal-use setting value or a device-use setting value onthe basis of information used to identify whether a certain settingvalue is a device-use setting value or a personal-use setting value(S1104).

If the setting value is a personal-use setting value, the CPU 101 storesthe setting value acquired in S1102 both in the HDD 104 and in the RAM102 as a setting value associated with the user identifier acquired inS1102 and necessary for login (S1105). If the setting value is adevice-use setting value, the CPU 101 stores the setting value acquiredin S1102 both in the HDD 104 and in the RAM 102 as a device-use settingvalue necessary for login (S1106).

Also in the case where the name of the setting value acquired in S1102is not included in the list, the CPU 101 determines whether the settingvalue acquired in S1102 is a personal-use setting value or a device-usesetting value (S1107).

If the setting value is a personal-use setting value, the CPU 101 storesthe setting value acquired in S1102 in the HDD 104 as a setting valueassociated with the user identifier acquired in S1102 and necessaryafter login (S1108). Furthermore, the CPU 101 determines whether or notthe user corresponding to the user identifier acquired in S1102 islogging in to the information processing apparatus (S1109). If the useris logging in, the CPU 101 stores, in the RAM 102, the setting valueacquired in S1102 as a setting value associated with the user identifieracquired in S1102 and necessary after login (S1110). This is because, ifthe user is logging in, setting values necessary after login are storednot only in the HDD 104 but also in the RAM 102. S1110 is executed toupdate setting values stored in the RAM 102. If the setting value is adevice-use setting value, the CPU 101 stores the setting value acquiredin S1102 both in the HDD 104 and in the RAM 102 as a device-use settingvalue necessary after login (S1111).

In the case where a setting value necessary for login is input to thenetwork I/F 110 from an external server, there may be the case where itis not preferable that the setting value be reflected soon. For example,in the case where a setting value for the display language has beenreflected soon, the display language on a screen displayed on theoperation unit 106 is suddenly changed, which may baffle a user. Thus,processing of S1105 is not executed soon after a setting value isacquired from an external server, and the setting value acquired inS1102 is temporarily saved in a buffer memory or a cache memory (notillustrated in FIG. 1). When a user logs out from the informationprocessing apparatus, the temporarily stored setting value is storedboth in the HDD 104 and in the RAM 102.

A logout process for a user will be described.

In the present embodiment, even in the case where a user logs out,setting values stored in the RAM 102 are not cleared soon, as apreparation to the case where the same user logs out and insuccessively. However, in the case where a user logs out, setting valuesassociated with the user may also be changed to device-use settingvalues. For example, when a user logs in, a screen may be displayed onthe basis of a setting value associated with the user for the displaylanguage. When a user logs out, a screen may also be displayed on thebasis of a device-use setting value for the display language.

In addition, when a user logs out from the information processingapparatus, the CPU 101 may also delete setting values associated withthe user and necessary after login from the RAM 102. When a user inputsa command for logout using the operation unit 106, the CPU 101 clears astorage area where setting values associated with the user and necessaryafter login on the RAM 102. In this case, every time the user logs inthe information processing apparatus, setting values necessary afterlogin are transferred from the HDD 104 to the RAM 102.

According to the above-described first embodiment, before each user logsin to the information processing apparatus, setting values necessary forlogin are transferred from a first storage device to a second storagedevice, which may be accessed at a higher speed than the first storagedevice, the first storage device being a nonvolatile storage device, thesecond storage device being a volatile storage. As a result, the loginprocess is performed at a higher speed, an operation screen desired bythe user is displayed sooner on the operation unit 106, and the user mayuse the information processing apparatus sooner. In addition, settingvalues necessary after login are also transferred from the first storagedevice to the second storage device before functions are executed, andthus, for each function, a setting value necessary for the function maybe acquired sooner.

That is, in an information processing apparatus that moves settinginformation associated with each user from a first storage unit to asecond storage unit and uses the setting information, it is possible toprepare setting information for a greater number of users in the secondstorage unit. In addition, the size of setting information to be storedin the second storage means may be further reduced.

Second Embodiment

In a second embodiment, setting values necessary after login are loadedin the RAM 102 in descending order of probabilities of the functionsbeing used. The second embodiment will be described using FIGS. 12 to13B. In the second embodiment, information illustrated in FIG. 12 isprepared and a login process illustrated in FIGS. 13A and 13B isexecuted instead of the login process illustrated in FIG. 8.

In the second embodiment, priorities are preset for a plurality offunctions. Each user may set priorities for a plurality of functions indescending order of probabilities of the functions being used afterlogin. Alternatively, the CPU 101 may set priorities for a plurality offunctions in descending order of probabilities of the functions beingused after login, on the basis of a use log of each function. In thefollowing, priorities for a plurality of functions are set on a user byuser basis. However, priorities for the plurality of functions may beset only for the information processing apparatus. Priority informationindicating priorities for the plurality of functions is stored in theHDD 104.

FIG. 12 is a diagram illustrating an example of priority informationstored in the HDD 104. In the example of FIG. 12, priority informationis stored on a user by user basis. Since the user A uses the copyfunction most frequently, the copy function is ranked number 1, the sendfunction number 2, and the FAX function number 3. Since the user B usesthe FAX function most frequently and does not use the copy function veryoften, the FAX function is ranked number 1 and the copy function is notranked.

FIGS. 13A and 13B are a flowchart illustrating a login process to beperformed in the information processing apparatus. The CPU 101 executesa program based on the flowchart as illustrated in FIGS. 13A and 13B andexecutes the login process according to the second embodiment. S801 toS811 and S816 of FIG. 13A are the same as S801 to S811 and S816 of FIG.8. Thus, a description of S801 to S811 and S816 is omitted.

The CPU 101 acquires priority information corresponding to the useridentifier acquired in S803 from the HDD 104 (S1301). The CPU 101selects a function with the highest priority on the basis of thepriority information from among functions for which a setting value hasnot yet been read from the HDD 104 (S1302). In the example of FIG. 12,the smaller the number indicating priority, the higher the priority.

The CPU 101 determines whether or not a setting value for the functionselected in S1302 has already been accessed (S1303). The CPU 101executes the program based on the flowchart illustrated in FIGS. 13A and13B and a program that controls a certain function in parallel. Inaddition, the information processing apparatus may include a controlcircuit that controls a certain function other than the CPU 101. As aresult, before the setting value is read from the HDD 104 in accordancewith the flowchart of FIGS. 13A and 13B, the setting value may havealready been read from the HDD 104 in response to an acquisition requestfrom a function controller. In the case where the setting value hasalready been read from the HDD 104 in response to an acquisition requestfrom a function controller and stored in the RAM 102, it is determinedthat the setting value has already been accessed. Note that, in the casewhere the setting value is being accessed in response to an acquisitionrequest, a message indicating that is displayed on the operation unit106. FIG. 14 is a diagram illustrating an example of a message.

In the case where the setting value has already been accessed, theprocess proceeds to S1306. In the case where the setting value has notyet been accessed, the CPU 101 reads, from the HDD 104, a setting valuefor the function selected in S1302 from among setting values associatedwith the user identifier acquired in S803 and necessary after login(S1304). Furthermore, the CPU 101 writes the read setting value into theRAM 102 (S1305). In the case where such a setting value is not presentfor the function, the CPU 101 reads, from the HDD 104, a device-usesetting value for the function selected in S1302 from among thedevice-use setting values necessary after login, and writes the readdevice-use setting value into the RAM 102.

The CPU 101 determines whether or not reading of setting values has beenperformed for all the functions indicated in the priority information(S1306). If there is a function for which a setting value has not yetbeen read from the HDD 104, the process returns to S1302.

In the case where reading of setting values has been performed for allthe functions indicated in the priority information, the CPU 101 selectsa function that is not described in the priority information from amonga plurality of functions provided by the information processingapparatus (S1307).

The CPU 101 determines whether or not a setting value for the functionselected in S1307 has already been accessed (S1308). In the case wherethe setting value has already been accessed, the process proceeds toS1311.

In the case where the setting value has not yet been accessed, the CPU101 reads, from the HDD 104, the setting value for the function selectedin S1307 from among the setting values associated with the useridentifier acquired in S803 and necessary after login (S1309).Furthermore, the CPU 101 writes the read setting value into the RAM 102(S1310). In the case where such a setting value is not present for thefunction, the CPU 101 reads, from the HDD 104, a device-use settingvalue for the function selected in S1307 from among the device-usesetting values necessary after login, and writes the read device-usesetting value into the RAM 102.

The CPU 101 determines whether or not reading of setting values has beenperformed for all the functions that are not indicated in the priorityinformation (S1311). If there is a function for which a setting valuehas not yet been read from the HDD 104, the process returns to S1307.

The priority information illustrated in FIG. 12 defines functions forwhich setting values are to be transferred to the RAM 102. However,limitation information may also be prepared in which functions for whichsetting values do not have to be transferred to the RAM 102 are defined.For example, if setting values for functions that a user does notusually use, a large-sized setting value, or the like is transferred tothe RAM 102, a certain amount of space of the RAM 102 is taken up, theRAM 102 having a smaller capacity than the HDD 104. There may be thecase where setting values for functions that are not usually used or alarge-sized setting value is transferred to the RAM 102 and settingvalues for functions with higher probability of being used are nottransferred in advance to the RAM 102 and stay in the HDD 104, which isslower than the RAM 102. Setting values for functions that are notusually used and a large-sized setting value are not transferred inadvance to the RAM 102 and have only to be transferred from the HDD 104to the RAM 102 as the need arises.

FIG. 15 is a diagram illustrating an example of priority information andlimitation information. In the example of FIG. 15, priority information1501 and limitation information 1502 are associated with the user A.Similarly to the priority information of FIG. 12, the priorityinformation 1501 indicates the order of functions with highprobabilities of being used by the user A. The limitation information1502 indicates conditions under which setting values are determined thatdo not need to be transferred to the RAM 102. Each user may setconditions under which setting values are determined that do not need tobe transferred to the RAM 102. Alternatively, the CPU 101 may setconditions under which setting values are determined that do not need tobe transferred to the RAM 102, on the basis of the use log of eachfunction.

A condition 1503 indicates the name of a function for which a settingvalue does not need to be transferred to the RAM 102. A condition 1504indicates the size of a setting value that does not need to betransferred to the RAM 102. In the example of FIG. 15, although only twoconditions are described, other conditions may also be described.

In the example of FIG. 15, a setting value for the FAX function is nottransferred from the HDD 104 to the RAM 102 in S1309 and S1310 of FIG.13B. Alternatively, the FAX function may be caused not to be selected inS1307. A setting value the size of which is 50 KB or larger is not alsotransferred from the HDD 104 to the RAM 102 in S1309 and S1310 of FIG.13B. In the above-described description, the condition 1504 is appliedonly to functions that are not described in the priority information.However, the condition 1504 may also be applied to functions describedin the priority information.

Note that a setting value that matches a condition described in thelimitation information 1502 is not read from the HDD 104 when the loginprocess of FIGS. 13A and 13B is executed but read from the HDD 104 uponreception of an acquisition request for the setting value from afunction controller.

It may be prevented using the limitation information 1502 that settingvalues are unintentionally loaded in a volatile storage device, whichhas a relatively small capacity, and even unnecessary setting values areloaded in the volatile storage device.

According to the second embodiment, as a result of loading, on apriority basis, setting values with high possibilities of being used toa volatile storage device which can be accessed at a high speed, a usermay use the functions sooner after the user's login. In addition, as aresult of not reading unnecessary setting values, a volatile storagedevice, which has a relatively small capacity, may be efficientlyutilized.

Third Embodiment

In a third embodiment, setting values for functions corresponding to ascreen set as the initial screen are given first priority, read from theHDD 104, and written into the RAM 102. As a result, a user may use soona function corresponding to the initial screen, which is displayed afterlogin. In the third embodiment, a login process illustrated in FIG. 16is executed instead of the login process illustrated in FIG. 8.

FIG. 16 is a flowchart illustrating a login process to be performed inthe information processing apparatus. The CPU 101 executes a programbased on the flowchart as illustrated in FIG. 16 and executes the loginprocess according to the third embodiment. S801 to S815 of FIG. 16 arethe same as S801 to S815 of FIG. 8. Thus, a description of S801 to S815is omitted.

After executing processing based on setting values necessary for login,the CPU 101 acquires setting values for the initial screen from amongthe setting values written into the RAM 102 in S805 or S806 (S1601).Next, the CPU 101 reads, from the HDD 104, setting values for functionsindicated by the setting values for the initial screen from among thesetting values associated with the user identifier acquired in S803 andnecessary after login (S1602). Furthermore, the CPU 101 writes the readsetting values into the RAM 102 (S1603). In the case where such asetting value is not present for the function, the CPU 101 reads, fromthe HDD 104, device-use setting values for the functions indicated bythe setting values for the initial screen from among the device-usesetting values necessary after login, and writes the read device-usesetting values into the RAM 102.

FIG. 16 has been described as a modified example of FIG. 8. However, aprocess from S1601 to S1603 may also be included in the flowchart ofFIGS. 13A and 13B. In that case, the process from S1601 to S1603 isexecuted between S807 and S808 of FIG. 13A.

According to the third embodiment, as a result of loading, on a prioritybasis, setting values for functions corresponding to a screen displayedfirst after login to a volatile storage device which can be accessed ata high speed, a user may use the functions sooner after the user'slogin.

Fourth Embodiment

FIG. 17 is a block diagram representing roles played by the CPU 101 inthe first to third embodiments.

A display/operation control unit 301 causes the operation unit 106 todisplay a screen by controlling the operation unit I/F 105. In addition,the display/operation control unit 301 acquires, via the operation unitI/F 105, information input using the operation unit 106 by a user, andsend the information to another control unit.

An authentication control unit 302 executes an authentication processfor login, acquires user information of a user who has logged in, andsend the user information to the other control unit. The authenticationcontrol unit 302 notifies the other control unit of events each of whichcorresponds to one of the start of login, the completion of login, andlogout.

A storage control unit 303 receives data from the other control unit andwrites the data into the RAM 102 or the HDD 104. In addition, thestorage control unit 303 reads data from the RAM 102 or the HDD 104 andsend the data to the other control unit. The storage control unit 303includes a first storage control portion 304 configured to controlreading/writing of data from/into the HDD 104 and a second storagecontrol portion 305 configured to control reading/writing of datafrom/into the RAM 102. The storage control unit 303 also controlsreading of data from the ROM 103.

A setting-value control unit 306 commands the first storage controlportion 304 or the second storage control portion 305 to read/write asetting value. In the case where a setting value is loaded in the RAM102 from the HDD 104, the setting-value control unit 306 commands thefirst storage control portion 304 to read a setting value, and the firststorage control portion 304 sends the setting value read from the HDD104 to the setting-value control unit 306. Furthermore, thesetting-value control unit 306 commands the second storage controlportion 305 to write the setting value, and the second storage controlportion 305 writes the setting value into the RAM 102. Upon receiving anevent indicating the completion of login and a user identifier from theauthentication control unit 302, the setting-value control unit 306commands the first storage control portion 304 to read a setting valuecorresponding to the user identifier. The setting-value control unit 306commands the second storage control portion 305 to write the settingvalue.

An initial-setting-screen control unit 307 commands thedisplay/operation control unit 301 to cause the operation unit 106 todisplay a screen for receiving setting values necessary for login, andreceives, from the display/operation control unit 301, setting valuesinput using the operation unit 106 and necessary for login. Furthermore,the initial-setting-screen control unit 307 sends the setting values tothe setting-value control unit 306, and the setting-value control unit306 commands the first storage control portion 304 or the second storagecontrol portion 305 to write the setting values. Setting values otherthan the setting values necessary for login, for example, setting valuesfor functions and setting values for system settings, are sent from afunction controller or a setting-screen control unit 309 to thesetting-value control unit 306. The setting-value control unit 306commands the first storage control portion 304 or the second storagecontrol portion 305 to write the setting values.

A copy control unit 308 is an example of a function controller. Otherthan the copy control unit 308, there may also be, as functioncontrollers, a scan control unit that controls reading of images, asending control unit that control sending of images, a FAX control unitthat controls sending to be performed by fax, and the like. The copycontrol unit 308 controls the copy function. In the case where a userhas selected the copy function, the copy control unit 308 receives theuser identifier of the user from the authentication control unit 302 andsends a name indicating the copy function, the user identifier, and anacquisition request for setting values necessary for the copy functionto the setting-value control unit 306. The setting-value control unit306 commands the first storage control portion 304 or the second storagecontrol portion 305 to read the setting values for the copy functionassociated with the user identifier.

In the first to third embodiments, the CPU 101 plays the roles of thedisplay/operation control unit 301, the authentication control unit 302,the first storage control portion 304, the second storage controlportion 305, the setting-value control unit 306, theinitial-setting-screen control unit 307, the copy control unit 308, andthe setting-screen control unit 309. However, a plurality of CPUs mayplay respective roles of the control units 301 to 309. In addition, acontrol circuit other than the CPU 101 may also play one or some of theroles of the control units 301 to 309.

OTHER EMBODIMENTS

In the first to third embodiments, setting values are prepared on a userby user basis; however, setting values may also be prepared on a groupby group basis, a plurality of users belonging to each group. In thiscase, setting values associated with a user who uses the informationprocessing apparatus and setting values associated with a group to whichthe user belongs are read from the HDD 104 and written into the RAM 102.

Embodiments of the present invention can also be realized by a computerof a system or apparatus that reads out and executes computer executableinstructions recorded on a storage medium (e.g., non-transitorycomputer-readable storage medium) to perform the functions of one ormore of the above-described embodiment(s) of the present invention, andby a method performed by the computer of the system or apparatus by, forexample, reading out and executing the computer executable instructionsfrom the storage medium to perform the functions of one or more of theabove-described embodiment(s). The computer may comprise one or more ofa central processing unit (CPU), micro processing unit (MPU), or othercircuitry, and may include a network of separate computers or separatecomputer processors. The computer executable instructions may beprovided to the computer, for example, from a network or the storagemedium. The storage medium may include, for example, one or more of ahard disk, a random-access memory (RAM), a read only memory (ROM), astorage of distributed computing systems, an optical disk (such as acompact disc (CD), digital versatile disc (DVD), or Blu-ray Disc (BD)™),a flash memory device, a memory card, and the like.

While the present invention has been described with reference toexemplary embodiments, it is to be understood that the invention is notlimited to the disclosed exemplary embodiments. The scope of thefollowing claims is to be accorded the broadest interpretation so as toencompass all such modifications and equivalent structures andfunctions.

This application claims the benefit of Japanese Patent Application No.2013-207420, filed Oct. 2, 2013, which is hereby incorporated byreference herein in its entirety.

What is claimed is:
 1. An information processing apparatus configured tooperate in accordance with setting information, the informationprocessing apparatus comprising: a first storage unit configured tostore first and second setting information corresponding to a first userand first and second setting information corresponding to a second user;a second storage unit, which is different from the first storage unit;an authentication unit configured to authenticate one of the first userand the second user; and a storage control unit configured to acquirethe first setting information corresponding to the first user and thefirst setting information corresponding to the second user from thefirst storage unit and store the first setting information correspondingto the first user and the first setting information corresponding to thesecond user in the second storage unit before one of the first user andthe second user has been authenticated by the authenticated unit,acquire, after one of the first user and the second user has beenauthenticated by the authentication unit, the first setting informationcorresponding to the authenticated user from the second storage unit,and acquire, after one of the first user and the second user has beenauthenticated by the authentication unit, the second setting informationcorresponding to the authenticated user from the first storage unit. 2.The information processing apparatus according to claim 1, wherein thefirst setting information is setting information to be used for a screenthat is to be displayed after a user, who is the first user or thesecond user, has been authenticated by the authentication unit.
 3. Theinformation processing apparatus according to claim 2, furthercomprising: a display unit configured to display the screen on the basisof the first setting information corresponding to the user authenticatedby the authentication unit.
 4. The information processing apparatusaccording to claim 1, wherein the storage control unit stores, in thesecond storage unit, the second setting information acquired from thefirst storage unit.
 5. The information processing apparatus according toclaim 4, wherein the second setting information is setting informationto be used for a function provided by the information processingapparatus, and the storage control unit acquires, in a case where theuser authenticated by the authentication unit uses the function, thesecond setting information corresponding to the authenticated user fromthe second storage unit.
 6. The information processing apparatusaccording to claim 4, further comprising: a first setting unitconfigured to set priorities for a plurality of functions provided bythe information processing apparatus, wherein the second settinginformation is setting information to be used for each of the pluralityof functions provided by the information processing apparatus, and thestorage control unit acquires the second setting informationcorresponding to each of the plurality of functions from the firststorage unit and stores the second setting information in the secondstorage unit.
 7. The information processing apparatus according to claim3, wherein the second setting information is setting information to beused for each of the plurality of functions provided by the informationprocessing apparatus, the display unit displays a screen correspondingto one of the plurality of functions, and the storage control unitacquires, from the first storage unit, the second setting information tobe used for a function corresponding to a screen to be displayed by thedisplay unit and stores the second setting information in the secondstorage unit.
 8. The information processing apparatus according to claim1, further comprising: a second setting unit configured to set acondition under which the second setting information is not stored inthe second storage unit, wherein the storage control unit does notacquire the second setting information that satisfies the condition fromthe first storage unit.
 9. The information processing apparatusaccording to claim 1, wherein the second setting informationcorresponding to the user authenticated by the authentication unit isstored in the second storage unit until the authentication unitauthenticates a next user, who is a third user, the informationprocessing apparatus further comprising: a determination unit configuredto determine, in a case where the third user has been authenticated bythe authentication unit, whether or not the third user is the same as auser who has been authenticated last time, who is a fourth user, whereinthe storage control unit does not acquire, in a case where the thirduser is the same as the fourth user, the second setting informationcorresponding to the third user from the first storage unit.
 10. Theinformation processing apparatus according to claim 1, wherein an accessspeed of the second storage unit is faster than an access speed of thefirst storage unit.
 11. The information processing apparatus accordingto claim 1, wherein the first storage unit is a hard disk and the secondstorage unit is a RAM.
 12. An information processing method foracquiring first and second setting information from a first storagedevice, in which the first and second setting information being stored,the first and second setting information being set for an informationprocessing apparatus, the information processing method comprising:authenticating one of a first user and a second user; acquiring firstsetting information corresponding to the first user and first settinginformation corresponding to the second user from the first storage unitbefore one of the first user and the second user has been authenticated,storing, in the second storage device, the first setting informationacquired in the acquiring of first setting information of the first andsecond users before one of the first user and the second user has beenauthenticated, the second storage device being different from the firststorage device; after one of the first user and the second user has beenauthenticated, acquiring the first setting information corresponding tothe authenticated user from the second storage device; and after one ofthe first user and the second user has been authenticated, acquiring thesecond setting information corresponding to the authenticated user fromthe first storage device.
 13. The information processing methodaccording to claim 12, wherein the first setting information is settinginformation to be used for a screen that is to be displayed after auser, who is the first user or the second user, has been authenticated.14. The information processing method according to claim 13, furthercomprising: displaying the screen on a display device on the basis ofthe first setting information corresponding to the authenticated user.15. The information processing method according to claim 12, furthercomprising: storing, in the second storage device, the second settinginformation acquired from the first storage device.
 16. The informationprocessing method according to claim 15, wherein the second settinginformation is setting information to be used for a function provided bythe information processing apparatus, and the information processingmethod further comprising: acquiring, in a case where the authenticateduser uses the function, the second setting information corresponding tothe authenticated user from the second storage unit.
 17. The informationprocessing method according to claim 12, further comprising: settingpriorities for a plurality of functions provided by the informationprocessing apparatus, wherein the second setting information is settinginformation to be used for each of the plurality of functions providedby the information processing apparatus, and in the acquiring of thesecond setting information from the first storage device, the secondsetting information corresponding to each of the plurality of functionsis acquired from the first storage device in accordance with thepriorities.
 18. The information processing method according to claim 14,wherein the second setting information is setting information to be usedfor each of a plurality of functions provided by the informationprocessing apparatus, the display device displays a screen correspondingto one of the plurality of functions, and in the acquiring of the secondsetting information from the first storage device, the second settinginformation to be used for a function corresponding to a screen to bedisplayed by the display device is acquired from the first storagedevice.
 19. A non-transitory computer-readable storage medium storing aprogram for acquiring first and second setting information from a firststorage device, in which the first and second setting information beingstored, the first and second setting information being set for aninformation processing apparatus, the program causing a computer toexecute: authenticating one of a first user and a second user; acquiringfirst setting information corresponding to the first user and firstsetting information corresponding to the second user from the firststorage unit before one of the first user and the second user has beenauthenticated; storing, in the second storage device, the first settinginformation acquired in the acquiring of first setting information ofthe first and second users before one of the first user and the seconduser has been authenticated, the second storage device being differentfrom the first storage device; after one of the first user and thesecond user has been authenticated, acquiring the first settinginformation corresponding to the authenticated user from the secondstorage device; and after one of the first user and the second user hasbeen authenticated, acquiring the second setting informationcorresponding to the authenticated user from the first storage device.